home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-11-08 | 14.0 KB | 409 lines | [TEXT/MPS ] |
- #####################################################################################
- # Application
- #####################################################################################
-
- "{_FWTargetObjectsDir}{__AppName}" ƒƒ ∂
- {__FrameworkObjects} ∂
- {__AppObjects}
- {_FWEcho} {_FWEchoOptions} "Linking: {__AppName}"
- {_FWLink} ∂
- {_FWLinkOptions} ∂
- {__InitLibs} ∂
- {__FrameworkObjects} ∂
- {__OtherObjects} ∂
- {__AppObjects} ∂
- {__SystemObjects} ∂
- -o "{_FWTargetObjectsDir}{__AppName}"
- {_FWEcho} {_FWEchoOptions} "Creator&Bundle: {__AppName}"
- CreatorAndBundle ∂
- {_FWCreatorAndBundleOptions} ∂
- "{_FWTargetObjectsDir}{__AppName}"
-
- "{_FWTargetObjectsDir}{__AppName}" ƒƒ ∂
- "{_FWTargetObjectsDir}BRResourcesCache.rsrc"
- {_FWEcho} {_FWEchoOptions} "Merging resources for: {__AppName}"
- echo "include ∂"{_FWTargetObjectsDir}BRResourcesCache.rsrc∂";" ∂
- | {_FWRC} -a -o "{_FWTargetObjectsDir}{__AppName}"
-
- "{_FWTargetObjectsDir}BRResourcesCache.rsrc" ƒ ∂
- {__FrameworkResources} ∂
- {__AppResources}
- {_FWEcho} {_FWEchoOptions} "Consolidating: {__AppName}"
- for __resourceFile__ in {__FrameworkResources}
- echo "include ∂"{__resourceFile__}∂";" ∂
- | {_FWRC} -a -o "{_FWTargetObjectsDir}BRResourcesCache.rsrc"
- end
- {_FWEcho} {_FWEchoOptions} "Consolidating: {__AppName}"
- for __resourceFile__ in {__AppResources}
- echo "include ∂"{__resourceFile__}∂";" ∂
- | {_FWRC} -a -o "{_FWTargetObjectsDir}BRResourcesCache.rsrc"
- end
-
- "{_FWTargetObjectsDir}{__AppName}" ƒƒ
- {_FWEcho} {_FWEchoOptions} " ∂"{_FWTargetObjectsDir}{__AppName}∂" # <- Execute to run your application"
-
-
- #####################################################################################
- # MPW Tool
- #####################################################################################
- "{_FWTargetObjectsDir}{__ToolName}" ƒƒ ∂
- {__ToolObjects}
- {_FWEcho} {_FWEchoOptions} "Linking: {__ToolName}"
- {_FWLink} ∂
- -t 'MPST' -c 'MPS ' ∂
- {_FWLinkOptions} ∂
- {__InitLibs} ∂
- {__ToolObjects} ∂
- {__SystemObjects} ∂
- {__ToolLinkOptions} ∂
- {__SystemLibEquates} ∂
- -o "{_FWTargetObjectsDir}{__ToolName}"
- {_FWEcho} {_FWEchoOptions} " ∂"{_FWTargetObjectsDir}{__ToolName}∂" # <- Execute to run your application"
-
- "{_FWTargetObjectsDir}{__ToolName}" ƒƒ ∂
- {__ToolResources}
- {_FWEcho} {_FWEchoOptions} "Merging Tool resources for: {__ToolName}"
- for __resourceFile__ in {__ToolResources}
- echo "include ∂"{__resourceFile__}∂";" ∂
- | {_FWRC} -a -o "{_FWTargetObjectsDir}{__ToolName}"
- end
-
- "{_FWTargetObjectsDir}{__ToolName}" ƒƒ
- {_FWEcho} {_FWEchoOptions} " ∂"{_FWTargetObjectsDir}{__ToolName}∂" # <- Execute to run your application"
-
-
- #####################################################################################
- # Dummy target just in case some variables are empty
- #####################################################################################
-
- SafeTarget = "{FWToolsDir}MacMake.rul"
-
- #####################################################################################
- # Framework
- #####################################################################################
-
- #####################################################################################
- # CFM Static Library
- #
- # A static library target is the same as the IDE target (SOM and resources)
- # plus the code target (.o)
- #
- # The static target is <module>.LIB (abstract)
- #
- # All object files in __ComponentObjects are libbed into <module>.o in the
- # objects folder. It you want it in the Lib folder see the .bmk for the
- # OSLayerLib.
- #
- # All som and resource files are built as described below for the .IDE target.
- #####################################################################################
-
- "{_FWTargetObjectsDir}{__ComponentName}.LIB" ƒ ∂
- "{_FWTargetObjectsDir}{__ComponentName}.IDE" ∂
- "{_FWTargetObjectsDir}{__ComponentName}.o" ∂
- {__OtherComponentDependencies}
-
- "{_FWTargetObjectsDir}{__ComponentName}.o" ƒ ∂
- {__ComponentObjects} {SafeTarget}
- {_FWEcho} {_FWEchoOptions} "Libbing: {__ComponentName}.o"
- {_FWLib} ∂
- {__StaticLibraryLinkOptions} ∂
- {__ComponentObjects} ∂
- -o {_FWTargetObjectsDir}"{__ComponentName}.o"
-
- #####################################################################################
- # Resources build Target
- #
- # This is an abstract target for building just resources.
- #
- # The IDE target is <module>.RSED (abstract)
- #
- # All resource files in __ComponentResources are built and consolidated into
- # <module>.IDE.rsrc in the objects directory.
- #####################################################################################
- # Abstract Target dependencies
- "{_FWTargetObjectsDir}{__ComponentName}.RSED" ƒ ∂
- {__ComponentResources} {SafeTarget}
-
- "{_FWTargetObjectsDir}{__ComponentName}.IDE.rsrc" ƒ ∂
- {__ComponentResources} {SafeTarget}
- #{_FWEcho} {_FWEchoOptions} "Consolidating: {__ComponentName}"
- #Begin
- # for __resourceFile__ in {__FrameworkResources}
- # echo "include ∂"{__resourceFile__}∂" not ∂'ckid∂';"
- # end
- # for __resourceFile__ in {__ComponentResources}
- # echo "include ∂"{__resourceFile__}∂" not ∂'ckid∂';"
- # end
- #End | {_FWRC} -t rsrc -c RSED -o "{_FWTargetObjectsDir}{__ComponentName}.IDE.rsrc"
-
- #####################################################################################
- # SOM build target
- #
- # This an abstract target to get somc to update all the SOM-related files. It's meant
- # to be used by Rainbow.
- #
- # All som-dependent files in __ComponentSourcesFromIDL are updated by the SOM
- # compiler.
- #####################################################################################
-
- "{_FWTargetObjectsDir}{__ComponentName}.SOM" ƒ ∂
- {__ComponentSourcesFromIDL} {SafeTarget}
-
- #####################################################################################
- # IDE build Target
- #
- # This is an abstract target for building resources and SOM-related files for
- # the MetroWerks and Symantec IDEs (which will soon enough build their own rsrc files).
- #
- # The IDE target is <module>.IDE (abstract)
- #
- # All it does is invoke the .RSED and .SOM targets.
- #####################################################################################
- # Abstract Target dependencies
- "{_FWTargetObjectsDir}{__ComponentName}.IDE" ƒ ∂
- "{_FWTargetObjectsDir}{__ComponentName}.SOM" ∂
- "{_FWTargetObjectsDir}{__ComponentName}.RSED"
-
- #####################################################################################
- # Inference Rules
- #####################################################################################
-
- .a.o ƒ .a
- {_FWEcho} {_FWEchoOptions} "Assembling: {default}.a"
- {_FWAsm} ∂
- {_FWAsmOptions} ∂
- {__IncludeDirs} ∂
- -o {targDir}{default}.a.o ∂
- {depDir}{default}.a
-
- .c.o ƒ .c
- {_FWEcho} {_FWEchoOptions} "Compiling: {default}.c"
- {_FWC} ∂
- {_FWCOptions} ∂
- {__COptions} ∂
- {__IncludeDirs} ∂
- -o {targDir}{default}.c.o ∂
- {depDir}{default}.c
-
- .cp.o ƒ .cp
- {_FWEcho} {_FWEchoOptions} "Compiling: {default}.cp"
- {_FWCpp} ∂
- {_FWCppOptions} ∂
- {__CppOptions} ∂
- {__CIncludeDirs} ∂
- {__IncludeDirs} ∂
- -o {targDir}{default}.cp.o ∂
- {depDir}{default}.cp
-
- .cpp.o ƒ .cpp
- {_FWEcho} {_FWEchoOptions} "Compiling: {default}.cpp"
- # We use a precompiled header file only if {__PrecompiledHeaderFile} is defined.
- If {__PrecompiledHeaderFile}
- {_FWCpp} ∂
- {_FWCppOptions} ∂
- {__CppOptions} ∂
- {__IncludeDirs} ∂
- {__CIncludeDirs} ∂
- -load {__PrecompiledHeaderFile} ∂
- -o {targDir}{default}.cpp.o ∂
- # -export_list {targDir}{default}.x ∂
- {depDir}{default}.cpp
- # dumpxcoff -n all {targDir}{default}.cpp.o | StreamEdit -s "{FWToolsDir}"exportScript > {targDir}{default}.z
- Else
- {_FWCpp} ∂
- {_FWCppOptions} ∂
- {__CppOptions} ∂
- {__IncludeDirs} ∂
- {__CIncludeDirs} ∂
- -o {targDir}{default}.cpp.o ∂
- {depDir}{default}.cpp
- End
-
- # [HLX] for now we don't want to regenerate the .cpp file until Windows and Mac are stable
- .cpp ƒ .idl
- # {_FWEcho} {_FWEchoOptions} "Compiling: {default}.idl --> {default}.cpp"
- # somc ∂
- # {__IDLIncludeDirs} ∂
- # -m cpluscpp -p -e xc ∂
- # -D __PRIVATE__ ∂
- # -I "{ODF}Found:FWCommon:Include:" ∂
- # -o {TargDir} ∂
- # {depDir}{default}.idl
- setfile -m . {Targ}
-
- .xih ƒ .idl
- {_FWEcho} {_FWEchoOptions} "Compiling: {default}.idl --> {default}.xih"
- somc ∂
- {__IDLIncludeDirs} ∂
- -m cpluscpp -p -e xih ∂
- -D __PRIVATE__ ∂
- -I "{ODF}Found:FWCommon:Include:" ∂
- -o {TargDir} ∂
- {depDir}{default}.idl
-
- .xh ƒ .idl
- {_FWEcho} {_FWEchoOptions} "Compiling: {default}.idl --> {default}.xh"
- somc ∂
- {__IDLIncludeDirs} ∂
- -m cpluscpp -e xh ∂
- -D __PRIVATE__ ∂
- -I "{ODF}Found:FWCommon:Include:" ∂
- -o {TargDir} ∂
- {depDir}{default}.idl
-
- .rsrc ƒ .fr
- {_FWEcho} {_FWEchoOptions} "ODFRC: {default}.fr"
- {_FWOPFRC} ∂
- {_FWOPFRCOptions} ∂
- {__FWRCIncludeDirs} ∂
- -o {targDir}{default}.rsrc ∂
- {depDir}{default}.fr
-
- .rsrc ƒ .r
- {_FWEcho} {_FWEchoOptions} "Rezzing: {default}.r"
- {_FWRC} ∂
- {_FWRCOptions} ∂
- {__FWRCIncludeDirs} ∂
- {__IncludeDirs} ∂
- -o {targDir}{default}.rsrc ∂
- {depDir}{default}.r
-
- #####################################################################################
- # Maintenance Targets
- #####################################################################################
-
- "{_FWTargetObjectsDir}"CleanObj ƒ
- {_FWEcho} {_FWEchoOptions} "Deleting Object Files from: {_FWTargetObjectsDir}"
- delete -y -i {__ComponentObjects}
-
- "{_FWTargetObjectsDir}"CleanRes ƒ
- {_FWEcho} {_FWEchoOptions} "Deleting Resources from : {_FWTargetObjectsDir}"
- delete -y -i {__ComponentResources}
-
- "{_FWTargetObjectsDir}"CleanLib ƒ
- {_FWEcho} {_FWEchoOptions} "Deleting Libraries from : {_FWLibDir}"
- delete -y -i "{_FWLibDir}{__ComponentName}.o"
- delete -y -i "{_FWLibDir}{__ComponentName}.rsrc"
-
- "{_FWTargetObjectsDir}"CleanAll ƒ ∂
- "{_FWTargetObjectsDir}"CleanObjects ∂
- "{_FWTargetObjectsDir}"CleanResources ∂
- "{_FWTargetObjectsDir}"CleanLibs
-
- "{_FWTargetObjectsDir}"KillDir ƒ ∂
- "{_FWTargetObjectsDir}"CleanLibs
- {_FWEcho} {_FWEchoOptions} "Deleting Build Directory: {_FWTargetObjectsDir}"
- delete -y -i "{_FWTargetObjectsDir}"
-
- #####################################################################################
- # CFM Static Linked Libraries
- #
- # A CFM library target is the same as the IDE target (som/idl and resources)
- # plus it will use the MPW Lib command to merge all the __ComponentObjects into one
- # static linked library for this layer.
- #
- # The shared library target is <module>.SLL (abstract)
- #
- #####################################################################################
- # Abstract Target dependencies
- "{_FWTargetObjectsDir}{__ComponentName}.SLL" ƒ ∂
- "{_FWTargetObjectsDir}{__ComponentName}.IDE" ∂
- "{_FWLibDir}{__ComponentName}.lib" ∂
- {__OtherComponentDependencies}
-
-
- "{_FWLibDir}{__ComponentName}.lib" ƒ ∂
- "{_FWTargetObjectsDir}{__ComponentName}.obj"
- duplicate -y "{_FWTargetObjectsDir}{__ComponentName}.obj" {Targ}
-
- "{_FWTargetObjectsDir}{__ComponentName}.obj" ƒ {__ComponentObjects}
- {_FWEcho} {_FWEchoOptions} "Libbing: {_FWTargetObjectsDir}{__ComponentName}.obj"
- {_FWLib} ∂
- {__StaticLibraryLinkOptions} ∂
- {__ComponentObjects} ∂
- -o "{Targ}"
-
- #####################################################################################
- # CFM Shared Libraries
- #
- # A shared library target is the same as the IDE target (som/idl and resources)
- # plus it will use the MPW-hosted compiler specified by the build suite to compile
- # the object files. This case will mainly be CFM-68K
- #
- # The shared library target is <module>.CFM (abstract)
- #
- # All __ComponentObjects are linked into a shared library in the objects folder.
- #
- # All som/idl and resource files are built as described in MacMake.rul for the IDE
- # target.
- #####################################################################################
- # Abstract Target dependencies
- "{_FWTargetObjectsDir}{__ComponentName}.CFM" ƒ ∂
- "{_FWTargetObjectsDir}{__ComponentName}.IDE" ∂
- "{_FWBinDir}{__ComponentName}" ∂
- {__OtherComponentDependencies}
-
- "{_FWBinDir}{__ComponentName}" ƒ ∂
- "{_FWTargetObjectsDir}{__ComponentName}.pef"
- duplicate -y "{_FWTargetObjectsDir}{__ComponentName}.pef" {Targ}
- # if `Exists ":Bin:"`
- # duplicate -y {Targ} ":Bin:{__ComponentName}"
- # End
- If `Exists "{_FWTargetObjectsDir}{__ComponentName}.SYM"`
- duplicate -y "{_FWTargetObjectsDir}{__ComponentName}.SYM" {Targ}.SYM
- End
-
- "{_FWTargetObjectsDir}{__ComponentName}Cache.rsrc" ƒ ∂
- {__FrameworkResources} ∂
- {__ComponentResources}
- {_FWEcho} {_FWEchoOptions} "Consolidating: {__ComponentName}"
- Begin
- for __resourceFile__ in {__FrameworkResources}
- echo "include ∂"{__resourceFile__}∂";"
- end
- for __resourceFile__ in {__ComponentResources}
- echo "include ∂"{__resourceFile__}∂";"
- end
- End | {_FWRC} -a -o "{_FWTargetObjectsDir}{__ComponentName}Cache.rsrc"
-
- "{_FWTargetObjectsDir}{__ComponentName}.seg" ƒ ∂
- {__ComponentObjects} ∂
- {__OpenDocObjects} ∂
- {__FrameworkObjects} ∂
- {__OtherObjects}
- {_FWEcho} {_FWEchoOptions} "Linking: {_FWTargetObjectsDir}{__ComponentName}"
- If ¬ `Exists "{__ComponentName}.exp"`
- {_FWEcho} {_FWEchoOptions} "The {__ComponentName}.exp file is not in the current directory!"
- End
- {_FWLink} ∂
- -l -map ∂
- -mf -w ∂
- {__SharedLibraryLinkOptions} ∂
- -@export {__ComponentName}.exp ∂
- -weaklib QuickDrawGXLib,QuickTimeLib ∂
- -init {__CFMInitFunction} ∂
- {__InitLibs} ∂
- {__ComponentObjects} ∂
- {__FrameworkObjects} ∂
- {__OpenDocObjects} ∂
- {__OtherObjects} ∂
- {__SystemObjects} ∂
- {__SystemLibEquates} ∂
- -o {Targ} > {_FWTargetObjectsDir}{__ComponentName}.map
- # If !{Status}
- # ILinkToSym -sym 3.2 -mf {Targ}.NJ -o "{_FWTargetObjectsDir}{__ComponentName}".SYM
- # End
-
- "{_FWTargetObjectsDir}{__ComponentName}.pef" ƒ ∂
- "{_FWTargetObjectsDir}{__ComponentName}.seg" ∂
- "{_FWTargetObjectsDir}{__ComponentName}Cache.rsrc"
- MakeFlat "{_FWTargetObjectsDir}{__ComponentName}".seg -o {Targ}
- {_FWEcho} {_FWEchoOptions} Copying Resources From: "{_FWTargetObjectsDir}{__ComponentName}Cache.rsrc"
- Echo "include ∂"{_FWTargetObjectsDir}{__ComponentName}Cache.rsrc∂";" | Rez -a -o {Targ}
- If {__ComponentSignature}
- SetFile -c {__ComponentSignature} -a B -t 'shlb' -m . {Targ}
- Else
- {_FWEcho} {_FWEchoOptions} "Warning: __ComponentSignature not set; using default (cfmg)."
- SetFile -c 'cfmg' -t 'shlb' -m . {Targ}
- End
-